/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Models;

import java.util.ArrayList;

/**
 *
 * Representa un contacto de Facebook.
 * 
 * @author Daniel Ochoa John
 */
public class FacebookFriend {
    
    String Name; //Nombre Completo
    long ID; //ID de Facebook
    String Username; //Nombre de Usuario
    int CommonFriends; //Amigos en Común
    int CommonMessages; //Mensajes entre el Usuario y este amigo
    String ProfilePicture; //URL Con la foto de perfil
    String MutualPhotos;//Fotos en comun
    String BirthdayDate;//Fecha de cumpleaños
    String BirthdayYear;//Año de nacimiento
    String Sex;//Sexo
    String Relationship;//Relacion con el usuario

    /**
     * 
     * Constructor de la clase FacebookFriend
     * 
     * @param Name Nombre completo del contacto
     * @param ID ID única del contacto en Facebook.
     * @param Username Nombre de usuario del contacto.
     * @param CF Amigos en común entre el contacto y el usuario.
     * @param MF Fotos en común entre el contacto y el usuario.
     * @param CM Mensajes enviados entre el contacto y el usuario.
     * @param PP URL de la foto de perfil del contacto.
     * @param BD Fecha de nacimiento del contacto.
     * @param S Sexo del contacto.
     * @param BY Año de nacimiento del contacto.
     * @param RS Tipo de relación entre el contacto y el usuario.
     */
    public FacebookFriend(String Name,String ID,String Username,String CF,String MF,String CM,String PP,String BD,String S,String BY,String RS) {
       this.Name = Name;
        this.ID = Long.parseLong(ID);
        this.Username = Username.trim();
        this.CommonFriends = Integer.parseInt(CF);
        this.CommonMessages = Integer.parseInt(CM);
        this.ProfilePicture = PP;
        this.MutualPhotos = MF;
        this.BirthdayDate = BD;
        this.Sex = S;
        this.BirthdayYear = BY;
        this.Relationship = RS;
    }

    /**
     * 
     * Constructos vacío de la clase FacebookFriend
     * 
     */
    public FacebookFriend() {
        
    }

    /**
     * 
     * Obtiene la cantidad de amigos en común entre el usuario y el contacto
     * 
     * @return el entero que representa los amigos en común entre el usuario y el contacto.
     */
    public int getCommonFriends() {
        return CommonFriends;
    }

     /**
     * 
     * Obtiene el sexo del contacto
     * 
     * @return la cadena de caracteres que representa el sexo del contacto
     */
    public String getSex() {
        return Sex;
    }

    
    /**
     * 
     * Asigna el sexo a un contacto, no use este método si no está seguro.
     * 
     * @param Sex sexo del contacto, puede ser:<br>
     * Hombre = male
     * Mujer = female
     */
    public void setSex(String Sex) {
        this.Sex = Sex;
    }

    /**
     * 
     * Obtiene la cantidad de mensajes en común entre el usuario y el contacto
     * 
     * @return el entero que representa los mensajes en común entre el usuario y el contacto.
     */
    public int getCommonMessages() {
        return CommonMessages;
    }

    /**
     * 
     * Obtiene la identidad única asignada por Facebook para un contacto
     * 
     * @return el long que representa la identidad única del usuario en Facebook.
     */
    public long getID() {
        return ID;
    }

    /**
     * 
     * Obtiene el nombre del contacto
     * 
     * @return la cadena de caracteres que representa el nombre del contacto
     */
    public String getName() {
        return Name;
    }

    /**
     * 
     * Obtiene la URL de la foto de perfil del contacto
     * 
     * @return la cadena de caracteres que representa la URL de la foto del perfil del usuario
     */
    public String getProfilePicture() {
        return ProfilePicture;
    }

    /**
     * 
     * Obtiene el nombre de usuario que contacto utiliza en Facebook
     * 
     * @return la cadena de caracteres que representa el nombre de usuario del contacto en Facebook
     * 
     */
    public String getUsername() {
        return Username;
    }

    
    /**
     * 
     * Obtiene la cantidad de fotos en común entre el usuario y el contacto
     * 
     * @return el entero que representa la cantidad de fotos en común entre el usuario y el contacto.
     * 
     */
    public String getMutualPhotos() {
        return MutualPhotos;
    }

    /**
     * 
     * Obtiene la fecha de cumpleaños de un contacto
     * 
     * @return la cadena que representa la fecha de cumpleaños de un contacto.
     * 
     */
    public String getBirthdayDate() {
        return BirthdayDate;
    }

    /**
     * 
     * Asigna la fecha de nacimiento para un contacto
     * 
     * @param BirthdayDate Cadena de caracteres que representa la fecha de nacimiento.
     */
    public void setBirthdayDate(String BirthdayDate) {
        this.BirthdayDate = BirthdayDate;
    }

    /**
     * 
     * Asigna los amigos en común entre un contacto y el usuario.
     * 
     * @param CommonFriends Entero que representa los amigos en común entre el contacto y el usuario
     */
    public void setCommonFriends(int CommonFriends) {
        this.CommonFriends = CommonFriends;
    }

    /**
     * 
     * Asigna los mensajes en común entre un contacto y el usuario.
     * 
     * @param CommonMessages Entero que representa los mensajes en común entre el contacto y el usuario
     */
    public void setCommonMessages(int CommonMessages) {
        this.CommonMessages = CommonMessages;
    }

    public void setID(long ID) {
        this.ID = ID;
    }

    public void setMutualPhotos(String MutualPhotos) {
        this.MutualPhotos = MutualPhotos;
    }

    public void setName(String Name) {
        this.Name = Name;
    }

    public void setProfilePicture(String ProfilePicture) {
        this.ProfilePicture = ProfilePicture;
    }

    public void setUsername(String Username) {
        this.Username = Username;
    }

    public String getBirthdayYear() {
        return BirthdayYear;
    }

    public void setBirthdayYear(String BirthdayYear) {
        this.BirthdayYear = BirthdayYear;
    }

    public String getRelationship() {
        return Relationship;
    }

    public void setRelationship(String Relationship) {
        this.Relationship = Relationship;
    }
    
}
